﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Rockfan.Framework
{
    [Flags()]
    public enum NoteType : ushort
    {
        Green       = 0x02,
        Red         = 0x04,
        Yellow      = 0x08,
        Blue        = 0x10,
        Orange      = 0x20,
        Dead        = 0x40,
        Hopo        = 0x80,
        Tapo        = 0x0100,
        Power       = 0x0200,
        Overdrive   = 0x0400,
        Random      = 0x0800
    }

    [Flags()]
    public enum FretButtonState : ushort
    {
        Green   = 0x01,
        Red     = 0x02,
        Yellow  = 0x04,
        Blue    = 0x08,
        Orange  = 0x10,
        Normal  = 0x20,
        Pressed = 0x40,
        Hit     = 0x80
    }

    [Flags()]
    public enum PlayState : ushort
    {
        Normal  = 0x01,
        Failing = 0x02,
        Paused  = 0x04,
        Solo    = 0x08,
        Power   = 0x10,
        Swapped = 0x20
    }

    [Flags()]
    public enum SortType : byte
    {
        None = 0x01,
        AwayFromCamera = 0x02,
        ReverseSort = 0x04
    }

    [Flags()]
    public enum GraphicsSupportLevel : byte
    {
        Low     = 0x01,
        Medium  = 0x02,
        High    = 0x04,
        Extreme = 0x08
    }

    [Flags()]
    public enum FretButtonType : ushort
    {
        None = 0x00,
        Green = 0x01,
        Red = 0x02,
        Yellow = 0x04,
        Blue = 0x08,
        Orange = 0x10,
        Pressed = 0x20,
        Released = 0x40,
        Hit = 0x80
    }

    public enum ContentType : byte
    {
        Font = 0x01,
        Sound = 0x02,
        Graphics = 0x03,
        Model = 0x04,
        Video = 0x05,
        AnimatedSprite = 0x06
    }
    
    public enum AudioEventType
    {
        Completed
    }

    public enum PlayerType
    {
        Human,
        Computer,
        RemotePlayer
    }

    public enum PlayerIndex
    {
        One,
        Two,
        Three,
        Four
    }

    public enum Difficulty
    {
        Easy,
        Medium,
        Hard,
        Expert,
        ExpertPlus
    }

    public enum InstrumentType
    {
        Guitar,
        AlternateGuitar,
        Drums,
        Keyboard,
        Mic
    }

    public enum MarkerType : byte
    {
        Measure = 0x01,
        Beat    = 0x02,
        Eigth   = 0x04
    }
}

